{
  # Plumbing tools:
  closureInfo,
  runCommand,
  buildEnv,
  # Actual dependencies to propagate:
  bash,
  coreutils,
}:
let
  tools = buildEnv {
    name = "lorri-runtime-tools";
    paths = [
      coreutils
      bash
    ];
  };

  runtimeClosureInfo = closureInfo {
    rootPaths = [ tools ];
  };

  closureToNix = runCommand "closure.nix" { } ''
    (
      echo '{ dep, ... }: ['
      sed -E 's/^(.*)$/    (dep \1)/' ${runtimeClosureInfo}/store-paths
      echo ']'
    ) > $out
  '';

  runtimeClosureInfoAsNix =
    runCommand "runtime-closure.nix"
      {
        runtime_closure_list = closureToNix;
        tools_build_host = tools;
      }
      ''
        substituteAll ${./runtime-closure.nix.template} $out
      '';
in
runtimeClosureInfoAsNix
